import json
import os

def write_list_to_json(string_list, file_path, indent=4):
    """
    将字符串列表写入 JSON 文件
    
    参数:
    string_list: list - 要写入的字符串列表
    file_path: str - JSON 文件路径
    indent: int - JSON 缩进格式（None 表示不缩进）
    """
    try:
        # 确保目录存在
        # os.makedirs(os.path.dirname(file_path), exist_ok=True)
        
        # 写入 JSON 文件
        with open(file_path, 'w', encoding='utf-8') as f:
            json.dump(string_list, f, ensure_ascii=False, indent=indent)
            
        print(f"列表已成功写入 {file_path}")
        return True
    except Exception as e:
        print(f"写入文件时出错: {e}")
        return False

def read_list_from_json(file_path):
    """
    从 JSON 文件读取字符串列表
    
    参数:
    file_path: str - JSON 文件路径
    
    返回:
    list - 从文件读取的字符串列表，如果出错返回 None
    """
    try:
        # 检查文件是否存在
        if not os.path.exists(file_path):
            print(f"文件 {file_path} 不存在")
            return None
            
        # 读取 JSON 文件
        with open(file_path, 'r', encoding='utf-8') as f:
            data = json.load(f)
            
        # 验证数据类型
        if not isinstance(data, list):
            print(f"警告: JSON 文件包含的不是列表而是 {type(data)}，尝试转换")
            return [str(item) for item in data]
            
        print(f"列表已成功从 {file_path} 读取")
        return data
    except json.JSONDecodeError:
        print(f"错误: {file_path} 不是有效的 JSON 文件")
        return None
    except Exception as e:
        print(f"读取文件时出错: {e}")
        return None
